#include<stdio.h>
 int    num[2000000];

//函数功能：二分查找
//函数参数：分别为被查找的数组，数组长度，所查找的元素
//函数返回值：如果找到，则返回该元素在数组中的下标，否则返回-1 
int BinarySearch(int a[],int n,int key) ; 

int main()
{
    ; //这个数组比较大，如果在你的电脑中无法分配这么大的内存，请改小后测试。
    int        n , m, i;    
    int        key ;

    scanf("%d%d",&n,&m); 
    for( i = 0 ; i < n ; i++ ) 
        scanf("%d",&num[i]) ;

    for( i = 0 ; i < m ; i++ ) 
    {
        scanf("%d",&key) ;
        printf("%d",BinarySearch(num,n,key)) ;
        if ( i != m - 1 ) printf(" ") ;
        else printf("\n") ;
    }
    return 0 ;
}

int BinarySearch(int a[],int n,int key) 
{
    int start=0,end=n-1,rtv=-1,mid=(start+end)/2;
    while(start<=end&&rtv==-1)
    {
        if(key==a[mid]) 
        {
          rtv=mid;
          break;
        }
        else
        {
           if(key>a[mid])
          {
            start=mid+1;
          }
          if(key<a[mid])
          {
            end=mid-1;
          }
          mid=(start+end)/2;
        }
    }
    return rtv;
}